package com.aiwiown.face.response;

import com.aiwiown.face.ApiResponse;
import com.aiwiown.face.domain.pc.LivenessResult;
import com.aiwiown.face.domain.pc.VerifyResult;
import com.aiwiown.face.domain.verify.Images;
import com.aiwiown.face.internal.mapping.ApiField;

/**
 * <pre>
 * </pre>
 * PcResultResponse
 * Date: 2020/5/12 0012
 * Time: 10:07
 *
 * @author tang.xiaosheng@qq.com
 */
public class PcResultResponse extends ApiResponse {
    private static final long serialVersionUID = -5644881073865715825L;

    /**
     * 在调用notify_url和return_url时会返回的额外数据，用户可以用此接口来传递一些额外信息，以帮助您调试和信息传递。此字段不超过4096字节。
     */
    @ApiField("biz_extra_data")
    private String bizExtraData;

    /**
     * 通过 get_token, notify_url 或者 return_url 返回的活体业务编号。
     */
    @ApiField("biz_id")
    private String bizId;

    /**
     * “默认为空”。客户业务流水号，建议设置为您的业务相关的流水串号并且唯一，会在return时原封不动的返回给您的服务器，以帮助您确认对应业务的归属。此字段不超过128字节。
     */
    @ApiField("biz_no")
    private String bizNo;

    /**
     * 活体检测得到的图像，调用时通过get_image_type来选择，
     * <p>
     * 或以jpg编码并用base64字符串返回，或返回为null
     */
    @ApiField("images")
    private Images images;

    /**
     * 活体检测结果：
     */
    @ApiField("liveness_result")
    private LivenessResult livenessResult;

    /**
     * 人脸比对结果（返回结果同Verify接口的返回结果），如果用户选择的 comparison_type 为 -1，
     * <p>
     * 或者活体检测没有通过时，该返回为 null。
     */
    @ApiField("verify_result")
    private VerifyResult verifyResult;

    public String getBizExtraData() {
        return bizExtraData;
    }

    public void setBizExtraData(String bizExtraData) {
        this.bizExtraData = bizExtraData;
    }

    public String getBizId() {
        return bizId;
    }

    public void setBizId(String bizId) {
        this.bizId = bizId;
    }

    public String getBizNo() {
        return bizNo;
    }

    public void setBizNo(String bizNo) {
        this.bizNo = bizNo;
    }

    public Images getImages() {
        return images;
    }

    public void setImages(Images images) {
        this.images = images;
    }

    public LivenessResult getLivenessResult() {
        return livenessResult;
    }

    public void setLivenessResult(LivenessResult livenessResult) {
        this.livenessResult = livenessResult;
    }

    public VerifyResult getVerifyResult() {
        return verifyResult;
    }

    public void setVerifyResult(VerifyResult verifyResult) {
        this.verifyResult = verifyResult;
    }
}
